home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1035 / 1035.xpi / chrome / 1clickweather.jar / content / 1clickweather / js / config / mainconfigwindow.js < prev    next >
Text File  |  2009-10-02  |  39KB  |  876 lines

  1. // ∩┐╜ 2005 The Weather Channel Interactive, Inc.  All Rights Reserved.
  2.  
  3. var GlobalLocId = null;
  4. var GlobalCountry = null;
  5. var GlobalDisplayName = null;
  6. var GlobalShouldUpdate = null;
  7.  
  8. function sendConfigUpdate() {
  9.     Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService).notifyObservers(null, "configupdate", GlobalLocId);
  10.         
  11. }
  12.  
  13. function loadMainWindow() {
  14.     // INCLUDE ALL OTHER JS FILES HERE!
  15.     try{
  16.       jsInclude("chrome://1clickweather/content/js/utils/definitions.js");
  17.       jsInclude("chrome://1clickweather/content/js/utils/xul.js");
  18.       jsInclude("chrome://1clickweather/content/js/utils/datadumper.js");
  19.       jsInclude("chrome://1clickweather/content/js/utils/appconstants.js");
  20.       jsInclude("chrome://1clickweather/content/js/utils/configupdateobserver.js");
  21.       jsInclude("chrome://1clickweather/content/js/trackingsystem.js");
  22.  
  23.       try{
  24.          // fire up the config system.
  25.          // loadconfig.js can be included where ever you need access to config variables.
  26.          // it will pop GlobalUserConfig and GlobalAppConfig into existance
  27.          jsInclude("chrome://1clickweather/content/js/config/loadconfig.js");
  28.       }catch(e){
  29.          alert("ERROR: " + e);
  30.       }
  31.  
  32.       try{
  33.          jsInclude("chrome://1clickweather/content/js/data/search.js");
  34.          loadSearch();
  35.       }catch(e){
  36.          alert("error init search: " + e);
  37.       }
  38.  
  39.       // create an observer that listens for search changes
  40.       try {
  41.          var searchObserver = new ConfigUpdateObserver("searchupdate");
  42.          searchObserver.setFunction(handleSearchData);
  43.          searchObserver.register();
  44.       }catch(e) {
  45.          alert("ERROR: " + e);
  46.       }
  47.  
  48.  
  49.       // hide the wierd wind speed section in the config
  50.       //document.getElementById('wind').setAttribute("hidden", "true");
  51.  
  52.       fixLabels();
  53.       // at the beginning make the units dropdown disabled..then the prepop will undo it if needed
  54.       document.getElementById("munits_wind").disabled = true;
  55.       loadVideoConfig();
  56.       checkmacversion();
  57.     }catch(e) {
  58.         alert("ERROR: " + e);
  59.     }
  60.  
  61.     prepopUserData();
  62.     try{
  63.        if(window.arguments[0].data['setup']){
  64.           // where we get here, we know this is the initial setup of the app
  65.           // so we need to handle defaults
  66.           document.getElementById('user_location').value = '';
  67.           GlobalLocId = null;
  68.           GlobalCountry = null;
  69.           GlobalDisplayName = null;
  70.  
  71.           setupUSDefaults();
  72.        }
  73.     }catch(e){ }
  74. }
  75.  
  76. function loadVideoConfig() {
  77.     //document.getElementById('video_description_text').childNodes[0].nodeValue = "Turn video forecast on or off. Set your default video preference.";
  78. }
  79.  
  80. function swapMenuImages(myIndex) {
  81.     var i;
  82.     for(i=0;i<8;i++) {
  83.         if(i == myIndex) {
  84.             document.getElementById('menu_img_' + i).src='chrome://1clickweather/skin/icons/confignav/' + i + '_on.png';
  85.         } else {
  86.             document.getElementById('menu_img_' + i).src='chrome://1clickweather/skin/icons/confignav/' + i + '_off.png';
  87.         }
  88.     }
  89. }
  90.  
  91. function fixLabels(){
  92.    try{
  93.    document.getElementById("config_setup_units_deg1").setAttribute("value", "┬░F, MPH");
  94.    document.getElementById("config_setup_units_deg2").setAttribute("value", "┬░C, MPH");
  95.    document.getElementById("config_setup_units_deg3").setAttribute("value", "┬░C, present wind speed in ");
  96. //   document.getElementById("MainConfigWindow").setAttribute("title", "1-ClickWeather");
  97.    }catch(e){ }
  98. }
  99.  
  100. /*******************************************************************************
  101.  * When the save button is hit, we do a saveData()
  102.  *******************************************************************************/
  103. function saveData(){
  104.  
  105.     /* tracking */
  106.     // doTech.writeLog("saveData method reached");
  107.     
  108.     if(!GlobalLocId && !document.getElementById('user_location').value){
  109.         alert("Please enter a Location");
  110.           return(false);
  111.     }
  112.     else if(GlobalLocId){
  113.         
  114.         GlobalShouldUpdate = true; // if the save has kicked off, we should send the update flag
  115.         
  116.         // This is where we do the saving of data
  117.          saveUserConfig();
  118.          
  119.           window.close();
  120.           
  121.           
  122.           if(GlobalUserConfig.getInfo().getIsInitial() == "true"){
  123.               var track = new weather_trackingSystem();
  124.             track.sendAnalyticusTag(0);     
  125.           }
  126.           
  127.           return(false);
  128.     }
  129.        return(false);
  130. }
  131.  
  132. /* closeWindow() */
  133. function closeWindow(){
  134.    // make sure we have a locid and the saveData() function was called
  135.    if(GlobalLocId && GlobalShouldUpdate){
  136.       sendConfigUpdate();   
  137.    }
  138. }
  139.  
  140. /*******************************************************************************
  141.  * Search related functions
  142.  *******************************************************************************/
  143. function openSearch(){
  144.    openXUL("search.xul", 'search', document.getElementById('user_location').value);
  145. }
  146.  
  147. function clearLocation(){
  148.     
  149.     this.onbluring = true;
  150.     
  151.    // TODO: Change this. 
  152.     if(!GlobalLocId){
  153.            document.getElementById('user_location').value = '';
  154.            GlobalLocId = '';
  155.            GlobalCountry = '';
  156.            GlobalDisplayName = '';
  157.     }
  158. }
  159.  
  160. function changeLocation(){
  161.     
  162.     if(this.onbluring){
  163.     
  164.     
  165.    var loc = document.getElementById('user_location').value;
  166.    if(loc){
  167.       var l = GlobalSearch.Search(loc);
  168.  
  169.       if(hashSize(l) != 1){
  170.          openXUL("search.xul", 'search', loc);
  171.       }else{
  172.          for(var i in l){
  173.             var d = GlobalSearch.getLocationData(i);
  174.             if(d){
  175.                parseSearchData(d);
  176.             }
  177.          }
  178.       }
  179.    }else{
  180.       //alert("no loc");
  181.    }
  182.    this.onbluring = false;
  183.     }
  184. }
  185.  
  186. // if we got a call to handleSearchData, lets assume it came from the search dialog box.
  187. // that means we just put the data back into the text box
  188. function handleSearchData(subject, topic, data){
  189.     
  190.     if(data){
  191.        parseSearchData(data);
  192.        document.getElementById('user_location').value = GlobalDisplayName;
  193.     }
  194.     else
  195.         alert("error");
  196. }
  197.  
  198. function parseSearchData(str){
  199.     var selectedUnit=null;
  200.     var selectedWindType=null;
  201.  
  202.        if(str){
  203.        
  204.         var locData = str.split('|');
  205.     
  206.           if(locData.length == 3){
  207.           
  208.             GlobalLocId = locData[0];
  209.              GlobalCountry = locData[1];
  210.              GlobalDisplayName = locData[2];
  211.  
  212.              // show user selection
  213.             document.getElementById("user_location").value = GlobalDisplayName;
  214.  
  215.              switch(GlobalCountry){
  216.                 case 'US':
  217.                        //setupUSDefaults();
  218.                        break;
  219.  
  220.                 default:
  221.                        //setupIntlDefaults();
  222.                        break;
  223.              }
  224.  
  225.              // if this is the initial screen, then......
  226.             try {
  227.                 if(window.arguments && window.arguments[0].data['setup']){
  228.                     if(GlobalCountry == "US") {
  229.                         selectedUnit = document.getElementById("s");
  230.                         document.getElementById("config_setup_units").selectedItem = selectedUnit;
  231.                         document.getElementById("munits_wind").disabled = true;
  232.                         // enable severe weather
  233.                         document.getElementById("config_swa_enable").checked = true;
  234.                         // enable radar
  235.                         document.getElementById("config_radar_enable").checked = true;
  236.                         // disable satellite
  237.                         document.getElementById("config_satellite_enable").checked = false;
  238.                         // make the video topstory
  239.                         selectedUnit = document.getElementById("config_video_choices_1073");
  240.                         document.getElementById("config_video_choices").selectedItem = selectedUnit;
  241.                         //document.getElementById("config_lifestyle_1").disabled = false;
  242.                         //document.getElementById("config_lifestyle_2").disabled = false;
  243.                         //document.getElementById("config_lifestyle_3").disabled = false;
  244.                         //document.getElementById("config_lifestyle_5").disabled = false;
  245.                         //document.getElementById("config_lifestyle_6").disabled = false;
  246.                         //document.getElementById("config_lifestyle_8").disabled = false;
  247.                         //document.getElementById("config_lifestyle_10").disabled = false;
  248.                         //document.getElementById("config_lifestyle_12").disabled = false;
  249.                     } 
  250.                     else if(GlobalCountry == "UK") {
  251.                         selectedUnit = document.getElementById("uk");
  252.                         document.getElementById("config_setup_units").selectedItem = selectedUnit;
  253.                         document.getElementById("munits_wind").disabled = true;
  254.                         // disable severe weather
  255.                         document.getElementById("config_swa_enable").checked = false;
  256.                         // make the video europe
  257.                         selectedUnit = document.getElementById("config_video_choices_571");
  258.                         document.getElementById("config_video_choices").selectedItem = selectedUnit;
  259.                         // disable radar
  260.                         document.getElementById("config_radar_enable").checked = false;
  261.                         // enable satellite
  262.                         document.getElementById("config_satellite_enable").checked = true;
  263.                         // make the video topstory
  264.                         selectedUnit = document.getElementById("config_video_choices_1073");
  265.                         setupIntlDefaults();
  266.                     }
  267.                     else{
  268.                     // now this is what im talking about...we assume that everyone else uses metric units...wow!!!
  269.                     selectedUnit = document.getElementById("m");
  270.                     document.getElementById("config_setup_units").selectedItem = selectedUnit;
  271.                     document.getElementById("munits_wind").disabled = false;
  272.                     selectedWindType = document.getElementById("km/h");
  273.                     document.getElementById("munits_wind").selectedItem = selectedWindType;
  274.                     // disable severe weather
  275.                     document.getElementById("config_swa_enable").checked = false;
  276.                     // make the video europe
  277.                     selectedUnit = document.getElementById("config_video_choices_571");
  278.                     document.getElementById("config_video_choices").selectedItem = selectedUnit;
  279.                     // disable radar
  280.                     document.getElementById("config_radar_enable").checked = false;
  281.                     // enable satellite
  282.                     document.getElementById("config_satellite_enable").checked = true;
  283.                     setupIntlDefaults();
  284.                 }
  285.             } else {
  286.                 if(GlobalCountry == "US") {
  287.                     selectedUnit = document.getElementById("s");
  288.                     document.getElementById("config_setup_units").selectedItem = selectedUnit;
  289.                     document.getElementById("munits_wind").disabled = true;
  290.  
  291.                     document.getElementById("config_satellite_enable").checked = false;
  292.                     document.getElementById("config_radar_enable").checked = true;
  293.  
  294.                     /*document.getElementById("config_lifestyle_1").disabled = false;
  295.                     document.getElementById("config_lifestyle_2").disabled = false;
  296.                     document.getElementById("config_lifestyle_3").disabled = false;
  297.                     document.getElementById("config_lifestyle_5").disabled = false;
  298.                     document.getElementById("config_lifestyle_6").disabled = false;
  299.                     document.getElementById("config_lifestyle_8").disabled = false;
  300.                     document.getElementById("config_lifestyle_10").disabled = false;
  301.                     document.getElementById("config_lifestyle_12").disabled = false;*/
  302.  
  303.                     document.getElementById("config_swa_enable").checked = true;
  304.                 } else {
  305.                     if(GlobalCountry =="UK") {
  306.                         selectedUnit = document.getElementById("uk");
  307.                         document.getElementById("config_setup_units").selectedItem = selectedUnit;
  308.                         document.getElementById("munits_wind").disabled = true;
  309.                     } else {
  310.                         selectedUnit = document.getElementById("m");
  311.                         document.getElementById("config_setup_units").selectedItem = selectedUnit;
  312.                         document.getElementById("munits_wind").disabled = false;
  313.                         selectedWindType = document.getElementById("km/h");
  314.                         document.getElementById("munits_wind").selectedItem = selectedWindType;
  315.                     }
  316.                     document.getElementById("config_swa_enable").checked = false;
  317.                     document.getElementById("config_radar_enable").checked = false;
  318.                     document.getElementById("config_satellite_enable").checked = true;
  319.  
  320.                     document.getElementById("config_swa_enable").checked = false;
  321.  
  322.                     setupIntlDefaults();
  323.                 }
  324.             }
  325.         } catch(e){
  326.  
  327.         }
  328.          return(true);
  329.       }else{
  330.          alert('search parse error: ' + locData.length);
  331.          GlobalLocId = '';
  332.          GlobalCountry = '';
  333.          GlobalDisplayName = '';
  334.       }
  335.    }
  336.    return(false);
  337. }
  338. /*******************************************************************************
  339.  * Done with Search related functions
  340.  *******************************************************************************/
  341.  
  342.  
  343. function prepopUserData() {
  344.     var userDefaultProfile = GlobalUserConfig.getAllProfiles().getDefaultProfile();
  345.  
  346.     // start prepop of the setup screen
  347.     var userSetupInfo = userDefaultProfile.getSetup();
  348.     var userLoc = userSetupInfo.getLocation();
  349.     if(userLoc.getLocID() != "" && userLoc.getLocID() != "default" && userLoc.getLocPres() != "" && userLoc.getLocPres() != "default") {
  350.         document.getElementById("user_location").value =  userLoc.getLocPres();
  351.         GlobalLocId = userLoc.getLocID();
  352.         GlobalCountry = userLoc.getCountry();
  353.         GlobalDisplayName = userLoc.getLocPres();
  354.     }
  355.  
  356.     var userUnits = userSetupInfo.getUnits().getName();
  357.     if(userUnits == "s" || userUnits == "uk") {
  358.         var selectedUnit = document.getElementById(userUnits);
  359.         document.getElementById("config_setup_units").selectedItem = selectedUnit;
  360.     } else {
  361.         // this must be metric then
  362.         if(userUnits == "mk") {
  363.             document.getElementById("munits_wind").disabled = false;
  364.             var selectedWindType = document.getElementById("km/h");
  365.             document.getElementById("munits_wind").selectedItem = selectedWindType;
  366.         } else if(userUnits == "ms"){
  367.             document.getElementById("munits_wind").disabled = false;
  368.             selectedWindType = document.getElementById("m/s");
  369.             document.getElementById("munits_wind").selectedItem = selectedWindType;
  370.         } else {
  371.             document.getElementById("munits_wind").disabled = false;
  372.         }
  373.         selectedUnit = document.getElementById("m");
  374.         document.getElementById("config_setup_units").selectedItem = selectedUnit;
  375.     }
  376.  
  377.     var userPosition = userSetupInfo.getPosition();
  378.     var selectedPosition = document.getElementById(userPosition);
  379.     document.getElementById("config_setup_placement").selectedItem = selectedPosition;
  380.  
  381.     // start prepop of the current cond screen
  382.     var userCurrentCondInfo = userDefaultProfile.getCurrentCond();
  383.     var isCurrentEnabled = userCurrentCondInfo.getIsEnabled();
  384.     if(isCurrentEnabled == "true") {
  385.         document.getElementById("config_cc_enable").checked = true;
  386.     } else {
  387.         document.getElementById("config_cc_enable").checked = false;
  388.     }
  389.  
  390.     var userSelectedCurrentType = document.getElementById("config_cc_display_" + userCurrentCondInfo.getType());
  391.     document.getElementById("config_cc_display").selectedItem = userSelectedCurrentType;
  392.     var userSelectedCurrentTooltip = userCurrentCondInfo.getToolTip();
  393.     var isCurrentTipEnabled = userSelectedCurrentTooltip.getIsEnabled();
  394.     if(isCurrentTipEnabled == "true") {
  395.         document.getElementById("config_cc_tooltip_enable").checked = true;
  396.     } else {
  397.         document.getElementById("config_cc_tooltip_enable").checked = false;
  398.     }
  399.  
  400.     var selectedTooltipLocation = document.getElementById("config_cc_tooltip_" + userSelectedCurrentTooltip.getType());
  401.     document.getElementById("config_cc_tooltip_display").selectedItem = selectedTooltipLocation;
  402.  
  403.     var userCurrentcondAlerts = userCurrentCondInfo.getAlerts();
  404.     var isCurrentAlertsEnabled = userCurrentcondAlerts.getIsEnabled();
  405.     if(isCurrentAlertsEnabled == "true") {
  406.         document.getElementById("config_swa_enable").checked = true;
  407.     } else {
  408.         document.getElementById("config_swa_enable").checked = false;
  409.     }
  410.  
  411.     var selectedAlertsInterval = document.getElementById("config_swa_interval_" + userCurrentcondAlerts.getInterval());
  412.     document.getElementById("config_swa_interval").selectedItem = selectedAlertsInterval;
  413.  
  414.     //start prepop of the todays forecast screen
  415.     var userFcst = userDefaultProfile.getForecast();
  416.     var userFcstEnabled = userFcst.getIsEnabled();
  417.     if(userFcstEnabled == "true") {
  418.         document.getElementById("config_fcst_enable").checked = true;
  419.     } else {
  420.         document.getElementById("config_fcst_enable").checked = false;
  421.     }
  422.  
  423.     var userSelectedFcstLocationButton = document.getElementById("config_fcst_display_" + userFcst.getType());
  424.     document.getElementById("config_fcst_display").selectedItem = userSelectedFcstLocationButton;
  425.  
  426.     var userFcstTooltip = userFcst.getToolTip();
  427.     var isFcstTipEnabled = userFcstTooltip.getIsEnabled();
  428.     if(isFcstTipEnabled == "true") {
  429.         document.getElementById("config_fcst_tooltip_display").checked = true;
  430.     } else {
  431.         document.getElementById("config_fcst_tooltip_display").checked = false;
  432.     }
  433.  
  434.     var selectedFcstTooltipLocation = document.getElementById("config_fcst_tooltip_display_placement_" + userFcstTooltip.getType());
  435.     document.getElementById("config_fcst_tooltip_display_placement").selectedItem = selectedFcstTooltipLocation;
  436.  
  437.     var selectFcstForecastSwitch = document.getElementById("config_fcst_switch_" + userFcst.getForecastSwitch());
  438.     document.getElementById("config_fcst_switch").selectedItem = selectFcstForecastSwitch;
  439.  
  440.     //start prepop of the todays extended forecast screen
  441.  
  442.     var userExtFcst = userDefaultProfile.getExtForecast();
  443.     var userExtFcstIsEnabled = userExtFcst.getIsEnabled();
  444.     if(userExtFcstIsEnabled == "true") {
  445.         document.getElementById("config_efcst_enable").checked = true;
  446.     } else {
  447.         document.getElementById("config_efcst_enable").checked = false;
  448.     }
  449.  
  450.     var userSelectedExtFcstLocationButton = document.getElementById("config_efcst_display_" + userExtFcst.getType());
  451.     document.getElementById("config_efcst_display").selectedItem = userSelectedExtFcstLocationButton;
  452.  
  453.  
  454.     var userExtFcstExtended = userExtFcst.getExtDetails();
  455.     var userSelectedExtFcstExtendedDays = document.getElementById("config_efcst_days_" + userExtFcstExtended.getDays());
  456.     document.getElementById("config_efcst_days").selectedItem =  userSelectedExtFcstExtendedDays;
  457.     var userSelectedExtFcstDisplayTime = document.getElementById("config_efcst_time_" + userExtFcstExtended.getTime());
  458.     document.getElementById("config_efcst_time").selectedItem = userSelectedExtFcstDisplayTime;
  459.  
  460.     var userExtFcstTooltip = userExtFcst.getToolTip();
  461.     var isExtFcstTipEnabled = userExtFcstTooltip.getIsEnabled();
  462.     if(isExtFcstTipEnabled == "true") {
  463.         document.getElementById("config_efcst_tooltip_display").checked = true;
  464.     } else {
  465.         document.getElementById("config_efcst_tooltip_display").checked = false;
  466.     }
  467.  
  468.     var selectedExtFcstTooltipLocation = document.getElementById("config_efcst_tooltip_display_placement_" + userExtFcstTooltip.getType());
  469.     document.getElementById("config_efcst_tooltip_display_placement").selectedItem = selectedExtFcstTooltipLocation;
  470.  
  471.  
  472.     //start prepop of the video screen
  473.     var userVideo = userDefaultProfile.getVideo();
  474.     var userVideoIsEnabled = userVideo.getIsEnabled();
  475.     if(userVideoIsEnabled == "true") {
  476.         document.getElementById("config_video_enable").checked = true;
  477.     } else {
  478.         document.getElementById("config_video_enable").checked = false;
  479.     }
  480.  
  481.     var userVideoSelection = document.getElementById("config_video_choices_" + userVideo.getID());
  482.     document.getElementById("config_video_choices").selectedItem = userVideoSelection;
  483.  
  484.     //start prepop of the radar screen
  485.     var userRadar = userDefaultProfile.getRadar();
  486.     var userRadarIsEnabled = userRadar.getIsEnabled();
  487.     if(userRadarIsEnabled == "true") {
  488.         document.getElementById("config_radar_enable").checked = true;
  489.     } else {
  490.         document.getElementById("config_radar_enable").checked = false;
  491.     }
  492.     var userRadarSelection = document.getElementById("config_radar_choices_" + userRadar.getID());
  493.     document.getElementById("config_radar_choices").selectedItem = userRadarSelection;
  494.  
  495.     // start prepop of the satellite screen
  496.     var userSat = userDefaultProfile.getSatelite();
  497.     var userSatIsEnabled = userSat.getIsEnabled();
  498.     if(userSatIsEnabled == "true") {
  499.         document.getElementById("config_satellite_enable").checked = true;
  500.     } else {
  501.         document.getElementById("config_satellite_enable").checked = false;
  502.     }
  503.     var userSatSelection = document.getElementById("config_satellite_choices_" + userSat.getID());
  504.     document.getElementById("config_satellite_choices").selectedItem = userSatSelection;
  505.  
  506.     // start prepop of the lifestyle screen
  507.     var userLifestyle = userDefaultProfile.getLifeStyle();
  508.     var userLifestyleIsEnabled = userLifestyle.getIsEnabled();
  509.     if(userLifestyleIsEnabled == "true") {
  510.         document.getElementById("config_lifestyle_enable").checked = true;
  511.     } else {
  512.         document.getElementById("config_lifestyle_enable").checked = false;
  513.     }
  514.  
  515.     /*
  516.     var allLinks = userLifestyle.getLinks();
  517.     for(var nextLinkKey in allLinks) {
  518.         document.getElementById("config_lifestyle_" + nextLinkKey).checked = true;
  519.     }
  520.     */
  521.  
  522.     /*// check if we need to disable certain links that are only available for US location!!!
  523.     if(userLoc.getLocID() != "" && userLoc.getLocID() != "default" && userLoc.getLocPres() != "" && userLoc.getLocPres() != "default") {
  524.     if(!(userLoc.getCountry() == "US" || userLoc.getCountry() == "us")) {
  525.         document.getElementById("config_lifestyle_1").disabled = true;
  526.         document.getElementById("config_lifestyle_2").disabled = true;
  527.         document.getElementById("config_lifestyle_3").disabled = true;
  528.         document.getElementById("config_lifestyle_5").disabled = true;
  529.         document.getElementById("config_lifestyle_6").disabled = true;
  530.         document.getElementById("config_lifestyle_8").disabled = true;
  531.         document.getElementById("config_lifestyle_10").disabled = true;
  532.         document.getElementById("config_lifestyle_12").disabled = true;
  533.     }
  534.     }*/
  535.  }
  536.  
  537.  
  538.  /************************************************************************
  539.     Start hide/show functionality
  540.  *************************************************************************/
  541.  function hideshowCurrent() {
  542.     if(document.getElementById("config_cc_enable").checked != true) {
  543.         document.getElementById("cc_hbox_tooltip0").hidden = false;
  544.         document.getElementById("cc_hbox_tooltip1").hidden = false;
  545.         document.getElementById("cc_hbox_tooltip2").hidden = false;
  546.     } else {
  547.         document.getElementById("cc_hbox_tooltip0").hidden = true;
  548.         document.getElementById("cc_hbox_tooltip1").hidden = true;
  549.         document.getElementById("cc_hbox_tooltip2").hidden = true;
  550.     }
  551.  }
  552.  
  553.  function hideshowCurrentTooltip() {
  554.     if(document.getElementById("config_cc_tooltip_enable").checked != true) {
  555.         document.getElementById("cc_hbox_tooltip2").hidden = false;
  556.     } else {
  557.         document.getElementById("cc_hbox_tooltip2").hidden = true;
  558.     }
  559.  }
  560.  
  561.  function hideshowCurrentAlerts() {
  562.     if(document.getElementById("config_swa_enable").checked != true) {
  563.         document.getElementById("cc_hbox_alerts1").hidden = false;
  564.     } else {
  565.         document.getElementById("cc_hbox_alerts1").hidden = true;
  566.     }
  567.  }
  568.  
  569.  function hideshowLifestyleLinks() {
  570.     if(document.getElementById("config_lifestyle_enable").checked != true) {
  571.         document.getElementById("config_links_vbox").hidden = false;
  572.     } else {
  573.         document.getElementById("config_links_vbox").hidden = true;
  574.     }
  575.  }
  576.  
  577.  function hideshowSatelliteMaps() {
  578.     if(document.getElementById("config_satellite_enable").checked != true) {
  579.         document.getElementById("config_satellite_choices").hidden = false;
  580.     } else {
  581.         document.getElementById("config_satellite_choices").hidden = true;
  582.     }
  583.  }
  584.  
  585.  function showdev(n) {
  586.     document.getElementById('setup_pages').selectedIndex=8;
  587.  }
  588.  
  589.  function hideshowRadarMaps() {
  590.     if(document.getElementById("config_radar_enable").checked != true) {
  591.         document.getElementById("config_radar_choices").hidden = false;
  592.     } else {
  593.         document.getElementById("config_radar_choices").hidden = true;
  594.     }
  595.  }
  596.  
  597.  function hideshowVideos() {
  598.     if(document.getElementById("config_video_enable").checked != true) {
  599.         document.getElementById("config_video_choices").hidden = false;
  600.     } else {
  601.         document.getElementById("config_video_choices").hidden = true;
  602.     }
  603.  }
  604.  
  605.  
  606.  
  607.  function hideshowExtFcst() {
  608.     if(document.getElementById("config_efcst_enable").checked != true) {
  609.         document.getElementById("extfcst_display_box").hidden = false;
  610.         document.getElementById("extfcst_details_box").hidden = false;
  611.         document.getElementById("extfcst_tooltip_box").hidden = false;
  612.         document.getElementById("extfcst_disaply_check_box").hidden = false;
  613.         document.getElementById("extfcst_transition_box").hidden = false;
  614.     } else {
  615.         document.getElementById("extfcst_display_box").hidden = true;
  616.         document.getElementById("extfcst_details_box").hidden = true;
  617.         document.getElementById("extfcst_tooltip_box").hidden = true;
  618.         document.getElementById("extfcst_disaply_check_box").hidden = true;
  619.         document.getElementById("extfcst_transition_box").hidden = true;
  620.     }
  621.  }
  622.  
  623.  function hideshowExtFcstTooltip() {
  624.     if(document.getElementById("config_efcst_tooltip_display").checked != true) {
  625.         document.getElementById("extfcst_tooltip_box").hidden = false;
  626.     } else {
  627.         document.getElementById("extfcst_tooltip_box").hidden = true;
  628.     }
  629.  }
  630.  
  631.  function hideshowFcst() {
  632.     if(document.getElementById("config_fcst_enable").checked != true) {
  633.         document.getElementById("fcst_display_box").hidden = false;
  634.         document.getElementById("fcst_tooltip_check_box").hidden = false;
  635.         document.getElementById("fcst_tooltip_check_box2").hidden = false;
  636.         document.getElementById("fcst_transition_label_box").hidden = false;
  637.         document.getElementById("fcst_transition_box").hidden = false;
  638.     } else {
  639.         document.getElementById("fcst_display_box").hidden = true;
  640.         document.getElementById("fcst_tooltip_check_box").hidden = true;
  641.         document.getElementById("fcst_tooltip_check_box2").hidden = true;
  642.         document.getElementById("fcst_transition_label_box").hidden = true;
  643.         document.getElementById("fcst_transition_box").hidden = true;
  644.     }
  645.  }
  646.  
  647.  function hideshowFcstTooltip() {
  648.     if(document.getElementById("config_fcst_tooltip_display").checked != true) {
  649.         document.getElementById("fcst_tooltip_check_box2").hidden = false;
  650.     } else {
  651.         document.getElementById("fcst_tooltip_check_box2").hidden = true;
  652.     }
  653.  }
  654.  
  655. function setupUSDefaults(){
  656.         document.getElementById("config_lifestyle_1").checked = true;
  657.         document.getElementById("config_lifestyle_1").disabled = false;
  658.  
  659.         document.getElementById("config_lifestyle_2").checked = true;
  660.         document.getElementById("config_lifestyle_2").disabled = false;
  661.  
  662.         document.getElementById("config_lifestyle_3").checked = true;
  663.         document.getElementById("config_lifestyle_3").disabled = false;
  664.  
  665.         document.getElementById("config_lifestyle_5").checked = true;
  666.         document.getElementById("config_lifestyle_5").disabled = false;
  667.  
  668.         document.getElementById("config_lifestyle_6").checked = true;
  669.         document.getElementById("config_lifestyle_6").disabled = false;
  670.  
  671.         document.getElementById("config_lifestyle_8").checked = true;
  672.         document.getElementById("config_lifestyle_8").disabled = false;
  673.  
  674.         document.getElementById("config_lifestyle_10").checked = true;
  675.         document.getElementById("config_lifestyle_10").disabled = false;
  676.  
  677.         document.getElementById("config_lifestyle_12").checked = true;
  678.         document.getElementById("config_lifestyle_12").disabled = false;
  679.     //try {
  680.     //    if(window.arguments[0].data['setup']){
  681.      //           document.getElementById("config_radar_enable").checked = true;
  682.      //           document.getElementById("config_satellite_enable").checked = false;
  683.      //   }
  684.     //}catch(e) {
  685.     //
  686.     //}
  687. }
  688.  
  689. function setupIntlDefaults() {
  690.         document.getElementById("config_lifestyle_1").checked = false;
  691.         document.getElementById("config_lifestyle_1").disabled = true;
  692.  
  693.         document.getElementById("config_lifestyle_2").checked = false;
  694.         document.getElementById("config_lifestyle_2").disabled = true;
  695.  
  696.         document.getElementById("config_lifestyle_3").checked = false;
  697.         document.getElementById("config_lifestyle_3").disabled = true;
  698.  
  699.         document.getElementById("config_lifestyle_5").checked = false;
  700.         document.getElementById("config_lifestyle_5").disabled = true;
  701.  
  702.         document.getElementById("config_lifestyle_6").checked = false;
  703.         document.getElementById("config_lifestyle_6").disabled = true;
  704.  
  705.         document.getElementById("config_lifestyle_8").checked = false;
  706.         document.getElementById("config_lifestyle_8").disabled = true;
  707.  
  708.         document.getElementById("config_lifestyle_10").checked = false;
  709.         document.getElementById("config_lifestyle_10").disabled = true;
  710.  
  711.         document.getElementById("config_lifestyle_12").checked = false;
  712.         document.getElementById("config_lifestyle_12").disabled = true;
  713.  
  714.         // if initial only
  715.         //try {
  716.         //    if(window.arguments[0].data['setup']){
  717.         //        document.getElementById("config_radar_enable").checked = false;
  718.         //        document.getElementById("config_satellite_enable").checked = true;
  719.                 //document.getElementById("config_radar_choices").hidden = true;
  720.         //    }
  721.         //}catch(e) {
  722.         //
  723.         //}
  724. }
  725.  
  726. function saveUserConfig() {
  727.     try {
  728.         var d = new Date()
  729.         
  730.         var configManager = new ConfigManager();
  731.         
  732.         var userConf = configManager.getUserConfig();
  733.         
  734.         // start saving profile update info
  735.         userConf.getInfo().setIsInitial(false);
  736.         userConf.getInfo().setLastUpdate(d.getTime());
  737.     
  738.         // start saving of setup window
  739.         userConf.getAllProfiles().getDefaultProfile().getSetup().getLocation().setLocID(GlobalLocId);
  740.         userConf.getAllProfiles().getDefaultProfile().getSetup().getLocation().setCountry(GlobalCountry);
  741.         userConf.getAllProfiles().getDefaultProfile().getSetup().getLocation().setLocPres(GlobalDisplayName);
  742.         userConf.getAllProfiles().getDefaultProfile().getSetup().setPosition(document.getElementById("config_setup_placement").value);
  743.     
  744.         var userunits = document.getElementById("config_setup_units").value;
  745.         
  746.         if(userunits == "m") {
  747.             userunits = document.getElementById("munits_wind").value;
  748.         }
  749.         
  750.         userConf.getAllProfiles().getDefaultProfile().getSetup().getUnits().setName(userunits);
  751.  
  752.     // start saving the current conditions screen
  753.     // check if current cond disp is enabled
  754.     if(document.getElementById("config_cc_enable").checked) {
  755.         userConf.getAllProfiles().getDefaultProfile().getCurrentCond().setIsEnabled(true);
  756.         // set the display type
  757.         userConf.getAllProfiles().getDefaultProfile().getCurrentCond().setType(document.getElementById("config_cc_display").value);
  758.         // check tooltip
  759.         if(document.getElementById("config_cc_tooltip_enable").checked) {
  760.             userConf.getAllProfiles().getDefaultProfile().getCurrentCond().getToolTip().setIsEnabled(true);
  761.             //set the tooltip type
  762.             userConf.getAllProfiles().getDefaultProfile().getCurrentCond().getToolTip().setType(document.getElementById("config_cc_tooltip_display").value);
  763.         } else {
  764.             userConf.getAllProfiles().getDefaultProfile().getCurrentCond().getToolTip().setIsEnabled(false);
  765.         }
  766.  
  767.     } else {
  768.         // check display and tooltip to false only..leave the rest alone
  769.         userConf.getAllProfiles().getDefaultProfile().getCurrentCond().setIsEnabled(false);
  770.         userConf.getAllProfiles().getDefaultProfile().getCurrentCond().getToolTip().setIsEnabled(false);
  771.     }
  772.     
  773.     //check if alerts are enabled
  774.     if(document.getElementById("config_swa_enable").checked) {
  775.         userConf.getAllProfiles().getDefaultProfile().getCurrentCond().getAlerts().setIsEnabled(true);
  776.         // set interval too!
  777.         userConf.getAllProfiles().getDefaultProfile().getCurrentCond().getAlerts().setInterval(document.getElementById("config_swa_interval").value);
  778.     } else {
  779.         userConf.getAllProfiles().getDefaultProfile().getCurrentCond().getAlerts().setIsEnabled(false);
  780.     }
  781.  
  782.     // start saving the todays forecast window
  783.     if(document.getElementById("config_fcst_enable").checked) {
  784.         userConf.getAllProfiles().getDefaultProfile().getForecast().setIsEnabled(true);
  785.         userConf.getAllProfiles().getDefaultProfile().getForecast().setType(document.getElementById("config_fcst_display").value);
  786.  
  787.         if(document.getElementById("config_fcst_tooltip_display").checked) {
  788.             userConf.getAllProfiles().getDefaultProfile().getForecast().getToolTip().setIsEnabled(true);
  789.             userConf.getAllProfiles().getDefaultProfile().getForecast().getToolTip().setType(document.getElementById("config_fcst_tooltip_display_placement").value);
  790.         } else {
  791.             userConf.getAllProfiles().getDefaultProfile().getForecast().getToolTip().setIsEnabled(false);
  792.         }
  793.     } else {
  794.         // set forecast to false
  795.         userConf.getAllProfiles().getDefaultProfile().getForecast().setIsEnabled(false);
  796.         // set the forecast tooltip to false
  797.         userConf.getAllProfiles().getDefaultProfile().getForecast().getToolTip().setIsEnabled(false);
  798.     }
  799.     // forecast transition option
  800.     userConf.getAllProfiles().getDefaultProfile().getForecast().setForecastSwitch(document.getElementById("config_fcst_switch").value);
  801.  
  802.  
  803.     // start saving of the ext forecast window
  804.     if(document.getElementById("config_efcst_enable").checked) {
  805.         userConf.getAllProfiles().getDefaultProfile().getExtForecast().setIsEnabled(true);
  806.         userConf.getAllProfiles().getDefaultProfile().getExtForecast().setType(document.getElementById("config_efcst_display").value);
  807.         userConf.getAllProfiles().getDefaultProfile().getExtForecast().getExtDetails().setDays(document.getElementById("config_efcst_days").value);
  808.         userConf.getAllProfiles().getDefaultProfile().getExtForecast().getExtDetails().setTime(document.getElementById("config_efcst_time").value);
  809.         if(document.getElementById("config_efcst_tooltip_display").checked) {
  810.             userConf.getAllProfiles().getDefaultProfile().getExtForecast().getToolTip().setIsEnabled(true);
  811.             userConf.getAllProfiles().getDefaultProfile().getExtForecast().getToolTip().setType(document.getElementById("config_efcst_tooltip_display_placement").value);
  812.         } else {
  813.             userConf.getAllProfiles().getDefaultProfile().getExtForecast().getToolTip().setIsEnabled(false);
  814.         }
  815.     } else {
  816.         userConf.getAllProfiles().getDefaultProfile().getExtForecast().setIsEnabled(false);
  817.         userConf.getAllProfiles().getDefaultProfile().getExtForecast().getToolTip().setIsEnabled(false);
  818.     }
  819.  
  820.     // start saving weather videos
  821.     if(document.getElementById("config_video_enable").checked){
  822.         userConf.getAllProfiles().getDefaultProfile().getVideo().setIsEnabled(true);
  823.         userConf.getAllProfiles().getDefaultProfile().getVideo().setID(document.getElementById("config_video_choices").value);
  824.     } else {
  825.         userConf.getAllProfiles().getDefaultProfile().getVideo().setIsEnabled(false);
  826.     }
  827.  
  828.     // start saving weather radar maps
  829.     if(document.getElementById("config_radar_enable").checked) {
  830.         userConf.getAllProfiles().getDefaultProfile().getRadar().setIsEnabled(true);
  831.         userConf.getAllProfiles().getDefaultProfile().getRadar().setID(document.getElementById("config_radar_choices").value);
  832.     } else {
  833.         userConf.getAllProfiles().getDefaultProfile().getRadar().setIsEnabled(false);
  834.     }
  835.  
  836.     // start saving weather satellite maps
  837.     if(document.getElementById("config_satellite_enable").checked) {
  838.         userConf.getAllProfiles().getDefaultProfile().getSatelite().setIsEnabled(true);
  839.         userConf.getAllProfiles().getDefaultProfile().getSatelite().setID(document.getElementById("config_satellite_choices").value);
  840.     } else {
  841.         userConf.getAllProfiles().getDefaultProfile().getSatelite().setIsEnabled(false);
  842.     }
  843.  
  844.     // start saving the links
  845.     if(document.getElementById("config_lifestyle_enable").checked) {
  846.         userConf.getAllProfiles().getDefaultProfile().getLifeStyle().setIsEnabled(true);
  847.        /* var links = {};
  848.         var i=1;
  849.         for(i=1;i<=12;i++) {
  850.             if(document.getElementById("config_lifestyle_" + i).checked) {
  851.                 links[i] = "true";
  852.             }
  853.         }
  854.         userConf.getAllProfiles().getDefaultProfile().getLifeStyle().setLinks(links);*/
  855.     } else {
  856.         userConf.getAllProfiles().getDefaultProfile().getLifeStyle().setIsEnabled(false);
  857.     }
  858.  
  859.  
  860.     // at the end..save user config to file
  861.     configManager.setUserConfig(userConf);
  862.     }catch(e) {
  863.         alert("SAVING ERROR: " + e);
  864.     }
  865.  
  866.  }
  867.  
  868. function checkmacversion() {
  869.     var isMac = (navigator.userAgent.indexOf('Mac') == -1)?0:1;
  870.     if(isMac) {
  871.         document.getElementById("MenuBar").hidden = true;
  872.     }
  873.  
  874. }
  875.  
  876.